The present invention relates to the field of integrated circuits and in particular, to a integrated circuit having a programmable logic array portion with volatile configuration memory and a nonvolatile memory array portion.
Integrated circuits are important building blocks of the modern age. Technology continues to evolve and integrated circuits continue to provide improved functionality. As integrated circuits improve, so do the electronics systems that are built using integrated circuits. There are many types of integrated circuit such as memories, microprocessors, application specific integrated circuits (ASICs), and programmable logic. Programmable logic integrated circuits such as PALs, PLDs, FPGAs, LCAs, and others are becoming more complex and continually evolving to provide more user-programmable features on a single integrated circuit.
Modern programmable logic integrated circuits incorporate programmable logic including logic gates, products terms, or look-up tables. Some programmable logic integrated circuits also included embedded user-programmable memory or RAM. However, this RAM is volatile, which means once power is removed from the integrated circuit, the contents of the RAM are lost.
Despite the success of programmable logic, there is a continuing desire to provide greater functionality in a programmable logic integrated circuit, but at the same time, provide greater performance. There are many applications for programmable logic with nonvolatile configuration memory where it is desirable to store on-chip data which is retained even when power is removed from the chip.
For example, it may be desirable to store user parameters such as radio channel presets or telephone number presets. It may be desirable to store system parameters such as interrupt address maps, memory configuration data, IP or port addresses, power supply voltage adjustments, and other similar information. It may be desirable to store manufacturing identification information such as printed circuit (PC) board revision numbers, firmware revision numbers, product identification, and other similar information.
Therefore, there is a need to provide a programmable logic integrated circuit having user-accessible nonvolatile memory for user memory.